MP Map Menu v3.1.2
By Pakked / FlyHigh


This mod adds a menu to GTA V which allows you to enable/disable GTA Online / Multiplayer DLC map content in Single Player.

It also includes quick teleports for access to:

- Diamond Casino
- Cayo Perico Island
- North Yankton / Prologue Map


Installation:
01. Install all requirements listed below.
02. Install the correct MPMenu build for your game version.
03. Drop "MPMenu_Legacy.ddl" or "MPMenu_Enhanced.dll" into your "scripts" folder.
04. Drop "MPMenu.ini" into your "scripts" folder.
05. Drop "LemonUI.SHVDN3.dll" into your "scripts" folder.
06. Start GTA V and press the configured menu key. Default is F5.


Important:
Do not place MPMenu_***.dll in the GTA root folder. It must go inside the "scripts" folder.

Do not install both the Legacy and Enhanced DLLs at the same time.
Only use the build made for your game version.

The download includes separate DLLs:

Legacy GTA V:
- Use MPMenu_Legacy.dll.
- This build is compiled against normal ScriptHookVDotNet.

Enhanced GTA V:
- Use MPMenu_Enhanced.dll.
- This build is compiled against ScriptHookVDotNet Enhanced / SHVDNE.

Renaming a DLL does not change what it was built against.
For example, renaming the Enhanced DLL to MPMenu_Legacy.dll will not make it work on Legacy.


Prerequisites / Requirements:

ScriptHookV

http://www.dev-c.com/gtav/scripthookv/
Goes in the GTA V root folder.


ScriptHookVDotNet / SHVDNE

This mod uses the ScriptHookVDotNet3 API.

There are separate MPMenu builds for Legacy and Enhanced.
Make sure you use the correct build.

Legacy GTA V users:

- Use the Legacy MPMenu build.
- Use normal ScriptHookVDotNet v3.
- Download: https://www.gta5-mods.com/tools/scripthookv-net
- Goes in the GTA V root folder.

Enhanced GTA V users:

- Use the Enhanced MPMenu build.
- Use ScriptHookVDotNet Enhanced / SHVDNE.
- Download: https://github.com/Chiheb-Bacha/ScriptHookVDotNetEnhanced/releases
- Goes in the GTA V root folder.
- SHVDNE is required for GTA V Enhanced because normal ScriptHookVDotNet only supports Legacy GTA V.

If you see an error like:
Could not load file or assembly 'ScriptHookVDotNet3, Version=3.9.0.0'

That means you are likely using the wrong MPMenu build or your ScriptHookVDotNet/SHVDNE version does not match the DLL you installed.
Use the correct Legacy or Enhanced build.


LemonUI for ScriptHookVDotNet3

https://github.com/LemonUIbyLemon/LemonUI
LemonUI.SHVDN3.dll goes in the "scripts" folder.

Make sure you use LemonUI.SHVDN3.dll, not the SHVDN2 version.


No Longer Required:
NativeUI is no longer required in v3.
This mod now uses LemonUI instead of NativeUI.


Default Keybinds:
Open Menu = F5
The keybinds can be changed in "MPMenu.ini".


MPMenu.ini Example:

[Hotkeys]
OpenMenu=F5

; Optional direct hotkeys. Use None to disable.
ToggleMPMaps=None
EnableMPMaps=None
DisableMPMaps=None
TeleportCasino=None
TeleportCayoPerico=None
TeleportNorthYankton=None

[Options]
; Legacy support from older versions. Hotkeys/OpenMenu is preferred.
Open_Menu=F5


Menu Options:

Enable DLC/MP Maps

- Enables GTA Online / Multiplayer DLC map content in Story Mode.

Disable DLC/MP Maps

- Returns the world to the Story Mode map state.
- If the player is on a DLC/special map, the player is moved to the closest safe mainland location first.


Map Teleports:

Diamond Casino

- Teleports the player to the Diamond Casino.
- If already in Los Santos / San Andreas, the mod teleports directly without forcing a fade/loading transition.
- If returning from Cayo Perico or North Yankton, the mod safely reloads San Andreas first.

Cayo Perico

- Loads Cayo Perico.
- Enables the Cayo minimap/pause-map mode.
- Reveals the Cayo main map instead of leaving it undiscovered.
- Ensures North Yankton is unloaded first to prevent map overlap.

North Yankton

- Loads the North Yankton / prologue map.
- Enables the North Yankton/prologue minimap mode.
- Ensures Cayo Perico is unloaded first to prevent map overlap.


Notes:
This mod changes the active MP/DLC map state while in Single Player.

Cayo Perico and North Yankton use overlapping southeast world-space, so the mod keeps them exclusive.
This means only one of those special maps is loaded at a time.

The Cayo Perico map reveal is a runtime minimap/pause-map visibility toggle.
It should not permanently edit your save file discovery data.


Compatibility:
This mod should work alongside most other script mods.

If another mod is also forcing MP map state, Cayo Perico, North Yankton, or minimap modes, the last mod to apply its state may override the other.


Troubleshooting:

If the menu does not open:

- Make sure MPMenu.dll is inside the "scripts" folder.
- Make sure MPMenu.ini is inside the "scripts" folder.
- Make sure ScriptHookV is installed in the GTA V root folder.
- Make sure the correct ScriptHookVDotNet/SHVDNE version is installed for your game version.
- Make sure you installed the correct Legacy or Enhanced MPMenu build.
- Make sure LemonUI.SHVDN3.dll is inside the "scripts" folder.
- Check that OpenMenu is set to a valid key in MPMenu.ini.

If you are on GTA V Legacy:

- Use the Legacy MPMenu build.
- Normal ScriptHookVDotNet v3 is fine.
- SHVDNE is optional for Legacy.
- Do not use the Enhanced MPMenu build unless your Legacy install is also using the matching SHVDNE/ScriptHookVDotNet3 version.

If you are on GTA V Enhanced:

- Use the Enhanced MPMenu build.
- Use SHVDNE.
- Normal ScriptHookVDotNet is not the correct choice for Enhanced.

If the game says it cannot load ScriptHookVDotNet3, Version=3.9.0.0:

- You are likely using the Enhanced build on a Legacy SHVDN install.
- Install the Legacy MPMenu build, or update to a matching ScriptHookVDotNet/SHVDNE version.
- Do not fix this by only renaming the DLL.

If the game shows ScriptHookVDotNet v2 deprecated warnings:

- Remove old ScriptHookVDotNet2-only mods from the scripts folder.
- Remove NativeUI.dll if no other installed mods need it.
- Make sure this mod is built against ScriptHookVDotNet3.dll.
- Make sure you are using LemonUI.SHVDN3.dll.

If Cayo Perico or North Yankton appears unloaded:

- Try teleporting again after a few seconds.
- Avoid rapidly switching maps back-to-back.
- Make sure no other map loader is fighting the mod.


Changelog:

3.0
Changes:

- Rebuilt for ScriptHookVDotNet3.
- Replaced NativeUI with LemonUI.
- Added clean LemonUI menu to replace outdated NativeUI.
- Added separate Legacy and Enhanced builds.
- Renamed Enable DLC/MP Maps and Disable DLC/MP Maps options.
- Added quick teleport submenu:
  - Added Diamond Casino teleport.
  - Added Cayo Perico teleport.
  - Added North Yankton teleport.
- Added Cayo Perico minimap/pause-map support.
- Added Cayo Perico main map visibility/fog-of-war runtime toggle.
- Added North Yankton/prologue minimap mode.
- Added exclusive switching so Cayo Perico and North Yankton do not load at the same time.
- Added safer fade/loading transitions with loading text.
- Added improved streaming/focus/collision handling before and after teleports.
- Added safe mainland teleporting when disabling MP maps from DLC/special map areas.
- Added casino exterior/door loading fix.
- Added configurable hotkeys through MPMenu.ini.
- Added optional direct hotkeys for toggling MP maps and teleporting.

Bug Fixes:

- Fixed missing SHVDN3 Hash enum by using local native hash instead.
- Fixed Cayo Perico loading issue where the player could fall into water before the island streamed.
- Fixed Cayo Perico and North Yankton overlapping in the same southeast map space.
- Fixed casino teleport unnecessarily loading when already in Los Santos.
- Fixed missing Diamond Casino door/exterior streaming.


Known Bugs:

- North Yankton is a prologue map and may not behave exactly like normal freemode map content.
- If another map loader mod is active, map/minimap state may be overridden.
- Very fast repeated switching may still cause GTA streaming delays or crashes.


2.0
Features:

- New UI menu.
- Custom key bindings.

Bug Fixes:

- Fixed bug where the game could crash while initializing the mod.
- Fixed bug where the mod would disable MP maps in special cases.


1.0

- Initial release.
